#ifndef AIR_H
#define AIR_H

#include <algorithm/shared/data/world/air/Attenuation.h>
#include <algorithm/shared/utils/Para.h>
#include <utils/ParaUtils.h>


#include <boost/describe.hpp>
#include <boost/unordered/unordered_flat_map.hpp>

namespace solar
{
    class Attenuation;

    class Air : public Para
    {
        public:
             ~Air() override = default;
            Air();

#include <utils/class_name.inc>

        private:
            std::shared_ptr<Attenuation> attenuation_;
            // AttenuationType attenuation_type_;

            BOOST_DESCRIBE_CLASS(Air, (Para), (), (), (attenuation_))
    };

} // namespace solar
#define CURRENT_CLASS_NAME Air
#include <utils/class_describe_header.inc>
SOLAR_DESCRIBE_CLASS(Air, (Para), (), (), (attenuation_))
#endif
